package constructor;

public class Demo8_Static {
    public static void main(String[] args) {
        Demo d1 = new Demo();
        d1.print1();
    }
}
/*
static注意事项：
    1.在静态中没有this关键字
        静态是随着类的加载而加载的，this是随着对象的创建而存在的
        静态比对象先存在
    2.静态方法只能访问静态的成员变量和静态的成员方法
        静态方法：
            成员变量：只能访问静态变量
            成员方法：只能访问静态成员方法
        非静态方法：
            成员变量：可以是静态的，也可以是非静态的
            成员方法：可以是静态的成员方法，也可以是非静态的成员方法

        简单来讲就是：静态只能访问静态
        静态是优先于对象存在的，随着类的加载而加载
 */
class Demo {
    int num1 = 10;
    static int num2 = 20;



    public void print1() {
        System.out.println(num1);
        System.out.println(num2);
    }
    public static void print2() {
        //System.out.println(num1);
        // java: 无法从静态上下文中引用非静态 变量 num1
        //静态的成员方法不能访问非静态的
        System.out.println(num2);
    }

}


